package com.bright.hxj.cwduijie.pojo.po;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author  hxj
 * @Date 2024-07-29 15:59:55 
 * @Description  生物资产
 */

@Data
@Entity
@Table(name ="DJ_SWZC")
public class BioAssets implements Serializable {

	private static final long serialVersionUID =  1524571217542527915L;

	/**
	 * 主键ID
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@JsonIgnore
   	@Column(name = "ID")
	private Integer ID;

	/**
	 * 数据唯一标识
	 */
	@NotBlank
	@Length(max = 36)
   	@Column(name = "DATA_KEY")
	private String DATA_KEY;

	/**
	 * 所属组织的统一社会信用代码
	 */
	@NotBlank
	@Length(max = 18)
   	@Column(name = "TYSHXYDM")
	private String TYSHXYDM;

	/**
	 * 资产类型编码
	 */
	@NotBlank
	@Length(max = 9)
   	@Column(name = "GDZCLX_BM")
	private String GDZCLX_BM;

	/**
	 * 资产编码
	 */
	@NotBlank
	@Length(max = 64)
   	@Column(name = "BM")
	private String BM;

	/**
	 * 品种
	 */
	@NotBlank
	@Length(max = 128)
   	@Column(name = "NAME")
	private String NAME;

	/**
	 * 资产来源
	 */
	@NotNull
   	@Column(name = "SOURCE")
	private Integer SOURCE;

	/**
	 * 资产状态
	 */
	@NotNull
   	@Column(name = "STATE")
	private Integer STATE;

	/**
	 * 购(构)建日期
	 */
   	@Column(name = "PURCHASED_DATE")
	private Date PURCHASED_DATE;

	/**
	 * 数量
	 */
   	@Column(name = "QUANTITY")
	private BigDecimal QUANTITY;

	/**
	 * （数量）单位
	 */
	@Length(max = 10)
   	@Column(name = "MEASUREMENT_UNIT")
	private String MEASUREMENT_UNIT;

	/**
	 * 资产原值
	 */
   	@Column(name = "INITIAL_VALUE")
	private BigDecimal INITIAL_VALUE;

	/**
	 * 生长（饲养）地点
	 */
	@Length(max = 128)
   	@Column(name = "LOCATION")
	private String LOCATION;

	/**
	 * 管理员
	 */
	@Length(max = 128)
   	@Column(name = "KEEPER_NAME")
	private String KEEPER_NAME;

	/**
	 * 资产性质
	 */
	@NotNull
   	@Column(name = "BGQ_XZ")
	private Integer BGQ_XZ;

	@JsonIgnore
   	@Column(name = "opType")
	private Integer opType;

	@JsonIgnore
   	@Column(name = "sjjhbz")
	private Integer sjjhbz;

	@JsonIgnore
   	@Column(name = "taskId")
	private String taskId;

}
